Q তে ফাংশন ডিক্লারেশন এবং ব্যবহার

ফাংশন এবং এক্সপ্রেশন (Functions and Expressions in Q) - কেডিবি (KDB+) - Computer Programming

338

Q ভাষায় ফাংশন হল একটি ব্লক যা একাধিক অপারেশন বা কমান্ড একত্রিত করে একটি নির্দিষ্ট কাজ সম্পন্ন করে। ফাংশন ডিক্লারেশন এবং ব্যবহার করা Q ভাষায় খুবই সহজ এবং সুবিধাজনক। এটি ব্যবহারকারীকে পুনরায় ব্যবহারযোগ্য কোড তৈরি করতে সহায়তা করে।

Q ভাষায় ফাংশন ডিক্লারেশন করতে {} ব্রেস ব্যবহার করা হয়। নিচে ফাংশন ডিক্লারেশন এবং তার ব্যবহার সম্পর্কিত কিছু মৌলিক ধারণা দেওয়া হলো।


১. ফাংশন ডিক্লারেশন

Q ভাষায় ফাংশন ডিক্লারেশন খুবই সরল। ফাংশনটি ডিক্লেয়ার করার সময় {} ব্রেস ব্যবহার করতে হয় এবং ফাংশনের নামের পরে আর্গুমেন্ট দেওয়ার মাধ্যমে তার আউটপুট সংজ্ঞায়িত করা হয়।

সাধারণ সিনট্যাক্স:

function_name: {function_body}

function_name এখানে ফাংশনের নাম এবং function_body হল সেই কোড বা এক্সপ্রেশন যা ফাংশনটি কার্যকর করবে।

উদাহরণ:

add: {x + y}  / দুটি সংখ্যার যোগফল দেওয়ার জন্য একটি ফাংশন

এখানে, add হল ফাংশনের নাম, এবং {x + y} হল ফাংশনের কাজ, যা দুটি আর্গুমেন্ট x এবং y এর যোগফল প্রদান করবে।


২. ফাংশন ব্যবহার

ফাংশন ব্যবহারের জন্য ফাংশনের নাম দিয়ে আর্গুমেন্ট পাস করতে হয়।

উদাহরণ:

result: add 3 5  / ফলাফল: 8

এখানে add ফাংশনটি ৩ এবং ৫ প্যারামিটার পেয়ে তাদের যোগফল হিসেবে ৮ প্রদান করবে।


৩. ফাংশনের আর্গুমেন্ট

Q ভাষায় ফাংশনের আর্গুমেন্টগুলি সাধারণত লিখিত নাম দিয়ে নির্দেশিত হয়, এবং আর্গুমেন্টের মান ফাংশন কলের সময় পাস করা হয়।

উদাহরণ:

multiply: {x * y}  / একটি ফাংশন যা দুটি সংখ্যাকে গুণ করবে
result: multiply 4 6  / ফলাফল: 24

৪. একাধিক আর্গুমেন্ট ব্যবহার

Q ভাষায় একাধিক আর্গুমেন্ট পাস করা যায়। ফাংশনের মধ্যে একাধিক আর্গুমেন্ট গ্রহণ করার জন্য তাদের নাম দেওয়া হয়।

উদাহরণ:

sum: {x + y + z}  / একটি ফাংশন যা তিনটি সংখ্যার যোগফল প্রদান করবে
result: sum 1 2 3  / ফলাফল: 6

এখানে sum ফাংশনটি তিনটি আর্গুমেন্ট পেয়ে তাদের যোগফল হিসেবে ৬ প্রদান করেছে।


৫. ফাংশনে ডিফল্ট মান (Default Values)

Q ভাষায় ফাংশনে ডিফল্ট মান নির্ধারণ করা সম্ভব। যদি একটি আর্গুমেন্ট না পাঠানো হয়, তবে তা ডিফল্ট মান নিয়ে আসবে।

উদাহরণ:

greet: {name: "Guest"; "Hello, " , name}  / ডিফল্ট মান 'Guest'
result: greet "Alice"  / ফলাফল: "Hello, Alice"
defaultResult: greet  / ফলাফল: "Hello, Guest"

এখানে, name আর্গুমেন্টের ডিফল্ট মান "Guest" দেয়া হয়েছে। যদি ফাংশনটি কোনো আর্গুমেন্ট ছাড়াই কল করা হয়, তাহলে ডিফল্ট মান হিসেবে "Guest" ব্যবহার হবে।


৬. ফাংশনে শর্ত (Conditions) এবং লুপ (Loops)

Q ভাষায় ফাংশনের মধ্যে শর্ত এবং লুপ ব্যবহার করা যায়। শর্তাবলী (if/else) এবং লুপ (যেমন each, while) ব্যবহার করে ফাংশনের কাজকে আরও গতিশীল করা যায়।

উদাহরণ (শর্ত):

maxNum: {if x > y then x else y}  / বড় সংখ্যা নির্ধারণের ফাংশন
result: maxNum 10 5  / ফলাফল: 10

উদাহরণ (লুপ):

sumList: {sum each x}  / একটি লিস্টের সকল উপাদান যোগ করা
result: sumList 1 2 3 4 5  / ফলাফল: 15

৭. ফাংশন ভেরিয়েবল ব্যবহার

Q ভাষায় ফাংশনের মধ্যে ভেরিয়েবল ব্যবহার করা সম্ভব, যা ফাংশনটির কাজকে আরও সাবলীল এবং শক্তিশালী করে।

উদাহরণ:

multiplyWithFactor: {factor: 2; x * factor}  / ফাংশনটি একটি ফ্যাক্টর দিয়ে গুণ করবে
result: multiplyWithFactor 4  / ফলাফল: 8 (4 * 2)

এখানে, multiplyWithFactor ফাংশনটির মধ্যে factor নামক একটি ভেরিয়েবল আছে যার মান ডিফল্টভাবে 2


সারসংক্ষেপ

Q ভাষায় ফাংশন ডিক্লারেশন খুবই সরল এবং শক্তিশালী। এটি সুনির্দিষ্ট কাজ করতে পারে এবং একাধিক আর্গুমেন্ট নিয়ে কাজ করে। ফাংশন ব্যবহারে কোড পুনঃব্যবহারযোগ্য হয় এবং ডেটা প্রক্রিয়াকরণের কাজ আরও দ্রুত ও কার্যকরী হয়ে ওঠে। শর্ত এবং লুপ ব্যবহার করে ফাংশন আরও জটিল হতে পারে এবং ডিফল্ট মান সহ ফাংশন ব্যবহারে এর কার্যকারিতা আরও বাড়ানো যায়।

Content added || updated By
Promotion

Are you sure to start over?

Loading...